Telecommunication networks include two distinct communication pathways or sub-networks—a voice network and a signaling network. These two networks function in a cooperative manner to facilitate calls between users. As implied by its name, the voice network handles the transmission of voice (or user data) information between users. The signaling network has a number of responsibilities, which include call setup, call teardown, and database access features. In simple terms, the signaling network facilitates the dynamic linking together of a number of discrete voice-type communication circuits such that a voice-type connection is established between a calling and a called party. Additionally, the signaling network provides a framework through which non-voice-related information may be transported, with this data and transport functionality being transparent to the users. This signaling technique is often referred to as out-of-band signaling, where the term “band” implies voice band.
The signaling protocol commonly employed in communication networks around the world, such as public switched telephone networks (PSTN), is the signaling system 7 (SS7) protocol. From a hardware perspective, an SS7 network includes a plurality of SS7 nodes, generically referred to as signaling points (SPs), that are interconnected using signaling links, also referred to as SS7 links. At least three types of SPs are provided in an SS7 network: service switching points (SSPs), signal transfer points (STPs) and service control points (SCPs). Within an SS7 signaling network, each SP is assigned an SS7 network address, which is referred to as a point code (PC).
An SSP is normally installed in Class 4 tandem or Class 5 end offices. The SSP is capable of handling both in-band signaling and SS7 signaling. An SSP can be a customer switch, an end-office, an access tandem and/or a tandem. An STP transfers signaling messages from one signaling link to another. STPs are packet switches and are generally installed as mated pairs. Finally, SCPs control access to databases, such as 800 number translation databases, 800 number carrier identification databases, calling card verification databases, and other databases.
SS7 supports service models such as the intelligent network (IN), whereby some features are executed locally on SSPs, while other features are executed on SCPs. In many cases, IN services are extended by accessing a host or server in an Internet protocol (IP) network using an IP-compatible protocol, such as session initiation protocol (SIP).
A new protocol framework based on SIP called “services in the PSTN requesting Internet services” (SPIRITS) provides SS7 nodes the ability to use Internet hosts that provide PSTN services. SPIRITS is an Internet engineering task force (IETF) protocol described in Network Working Group RFC 3910, October 2004, the disclosure of which is incorporated by reference herein in its entirety. The SPIRITS protocol enables the execution of services in the Internet based on certain events occurring in an SS7 network. SS7 nodes make service requests that are then processed on Internet-hosted servers. In general terms, the Internet host is interested in getting notifications of certain events occurring in the SS7 network, such as call answered, called party busy, route select failure, call disconnect, and others. When an event of interest occurs, the SS7 node notifies the Internet host. The Internet host can then execute appropriate services based on these notifications. For example, the Internet host may use this information to facilitate intelligent network services such as call waiting ID, call forwarding, and the like, which utilize an IP network. To give a specific example, a subscriber can receive an indication on his or her computer screen at work that a call is being received at home. The indication may also provide options to the user for acting on the information, such as answer the call, transfer the call to voice mail, and forward the call to another number.
The SPIRITS protocol, and SIP in general, however, does not define a mechanism for maintaining originating SS7 point codes and/or originating network group codes (discussed further below) in messages forwarded from an SS7 network to an IP network node, such as a SIP node, and back. For example, there are cases when an SS7 node, such as an STP, may send a message to an SIP node requesting a response using SIP (e.g., SPIRITS). In such a case, the SS7 node is conventionally required to maintain state information for the message so that the originating SS7 routing information of the SS7 node to which the response should be sent is known once the response is received from the SIP node. Maintaining such state information at the STP is resource intensive. It would be beneficial to be able to receive the SS7 routing information from the SIP node in the response message to reduce the requirement of maintaining state information at the STP. Although there are provisions in SPIRITS for including called party phone numbers and calling party phone numbers in messages, there are currently no provisions for SS7 point codes or network group codes.
Group codes and their usage are described in commonly-assigned co-pending U.S. patent application Ser. No. 10/093,862, filed Mar. 8, 2002, entitled “Methods and Systems for Providing Duplicate Point Code Support in a Signaling Message Routing Node”, the disclosure of which is incorporated by reference herein in its entirety. The above application relates to a communications network element that is capable of providing intra- and inter-network message routing functionality in a networking environment including multiple national signaling networks. More particularly, a routing node routes signaling messages between multiple national networks, where the same point code is used to identify different nodes in two or more of the networks. For example, an STP facilitates signaling communication within and between different national SS7 networks with signaling points that share point codes. In order to achieve this duplicate point code routing functionality, in one example, a group code may be assigned to a received message based on a linkset and adjacent point code from which the message was received. Once the group code is assigned, it may be used to internally route the message to the output port associated with the appropriate destination group, which may be a national network.
Group codes are used to represent SS7 networks because telecommunications networks in different countries may use the same point codes. That is, although a given SS7 point code must be unique within a given country's signaling network, there is no prohibition on using the same point code in another country's signaling network. This duplicate point code usage problem is particularly prevalent in the European telecommunications markets and makes it difficult for an international network operator to implement a signaling gateway (SG) or STP to simultaneously serve multiple national networks. Group codes enable an STP or SG to simultaneously serve multiple national networks in which point codes are re-used.
As stated above, the SIP and the SPIRITs protocols are increasingly being used to provide advanced telecommunications services. However, neither protocol currently provides a mechanism for triggering SIP nodes to include SS7 routing information in response messages.
Accordingly, there exists a need for methods, systems, and computer program products for including SS7 routing information in a SIP message.